import logging
import redis


class Config(object):
    # 设置数据库的链接
    SQLALCHEMY_DATABASE_URI = 'mysql://root:mysql@127.0.0.1:3306/Bnews'
    # 关闭追踪数据库的更改
    SQLALCHEMY_TRACK_MODIFICATIONS = False

    # redis数据库的相关配置
    REDIS_HOST = '127.0.0.1'
    REDIS_PORT = 6379
    # 设置csrf验证先要设置SECRET_KEY
    # 随机生成一个字符串
    # # srt = base64.b64encode(os.urandom(48)).decode()
    # SECRET_KEY = srt
    SECRET_KEY = '这是一个秘钥'
    # session存储的相关配置
    # 设置session存储到redis中
    SESSION_TYPE = 'redis'
    # redis的链接对象给session的扩展使用
    SESSION_REDIS = redis.StrictRedis(host=REDIS_HOST, port=REDIS_PORT)
    # 返回给浏览器的cookie session值进行加密
    SESSION_USE_SIGNER = True
    PERMANENT_SESSION_LIFETIME = 2 * 24 * 3600


class DevelopmentConfig(Config):
    '''开发环境中的配置类'''
    DEBUG = True
    LOG_LIVE = logging.DEBUG

class ProductionConfig(Config):
    '''生产环境中配置类'''
    # 配置生产环境链接的数据库
    SQLALCHEMY_DATABASE_URI = 'mysql://root:mysql@127.0.0.1:3306/Bnews'
    LOG_LIVE = logging.WARNING


config_dict = {
    'development': DevelopmentConfig,
    'production': ProductionConfig
}
